package domain;

import java.util.Iterator;
import java.util.List;
import data.IProyectoDAO;
import data.JDBCProyectoDAO;


public class ProyectoStore{
	private static ProyectoStore ps;
	private List<Proyecto> proyectos;
	
	private IProyectoDAO pdao = new JDBCProyectoDAO();

	public static synchronized ProyectoStore getInstance(){
		if (ps == null)
			ps = new ProyectoStore();
		return ps;
	}

	private ProyectoStore(){
		proyectos = (new JDBCProyectoDAO()).selectAllProyectos();		
	}

	public List<Proyecto> getProyectos(){
		return proyectos;
	}

	public Proyecto getProyecto(String proyectoID){
		boolean enc = false;
		Iterator<Proyecto> it = proyectos.iterator();
		Proyecto p = null;
		
		while (it.hasNext() && !enc){
			p = (Proyecto)it.next();
			if (p.getProyectoID().equals(proyectoID)){
				enc = true;
			}
		}
		return p;
	}
	
	public void insertarProyecto(Proyecto p){
		pdao.insertProyecto(p);
	}
	
	public void borrarProyecto(String proyectoID){
		pdao.deleteProyecto(proyectoID);
	}
	
	public Proyecto seleccionarProyecto(String proyectoID){
		return pdao.selectProyecto(proyectoID);
	}
	
	public List<Proyecto> seleccionarProyectos(){
		return pdao.selectAllProyectos();
	}
}
